package com.atguigu.date;

import org.junit.Test;

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
//说明:LocalDateTime用的更多一些
public class LocalTest {
    @Test
    public void test(){
        //now()方法:获取当前的日期/时间/日期时间
        LocalDate localDate =LocalDate.now();
        LocalTime localTime= LocalTime.now();
        LocalDateTime localDateTime= LocalDateTime.now();
        System.out.println(localDate);  //日期
        System.out.println(localTime);  //时间
        System.out.println(localDateTime);  //日期时间都有
        //of():设置指定的年月日时分秒，没有偏移量的概念
        LocalDateTime localDateTime1 = LocalDateTime.of(2020, 10, 6, 13, 23, 43);
        System.out.println(localDateTime1);
        //getXxx():获取相关属性
        System.out.println(localDateTime.getDayOfMonth()); //获取当月的第几天  26
        System.out.println(localDateTime.getMonthValue());  //5
        System.out.println(localDateTime.getMonth());  //May

        //withXxx():设置相关属性
        //不可变性
        LocalDate localDate1 = localDate.withDayOfMonth(22);
        System.out.println(localDate1);//新接收的变量变成22号了，体现不可变性
        System.out.println(localDate); //这里还是26号

        LocalDateTime localDateTime2 = localDateTime.withHour(4);
        System.out.println(localDateTime);
        System.out.println(localDateTime2);  //改成了4点

        //加减操作
        LocalDateTime localDateTime3 = localDateTime.plusMonths(3);
        System.out.println(localDateTime);
        System.out.println(localDateTime3);  //此时加了3个月
    }
}
